// pages/property/index/index.ts
import { getCardList, getCardRecord } from '@/api/property/index'
import { Card } from '@/api/property/type'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    money: 0,
    menuList: [
      {
        text: '添加卡包',
        background: '#e0edff',
        icon: 'add',
        color: '#387BEC'
      },
      {
        text: '预算管理',
        background: '#ffefdb',
        icon: 'statis',
        color: '#F5A54D'
      },
      { text: '更多', background: '#F0F3F6', icon: 'app', color: '#61748B' }
    ],
    hisList: [
      { id: '1', name: '餐饮', icon: 'food' },
      { id: '2', name: '交通', icon: 'traffic' },
      { id: '3', name: '服饰', icon: 'clothing' },
      { id: '4', name: '宠物', icon: 'animal' },
      { id: '5', name: '服务', icon: 'serve' },
      { id: '6', name: '通讯', icon: 'phone' }
    ],
    cardList: <Card[]>[],
    payList: [],
    height: 0
  },
  // 获取卡包列表
  getCardList() {
    getCardList().then((res) => {
      const initMoney = res.data.length ? res.data[0].money : 0
      this.setData({ cardList: res.data, money: initMoney })
      if (res.data.length) this.getCardRecord(res.data[0].id)
    })
  },
  // 修改swiper
  handleChangeSwiper(e: WechatMiniprogram.SwiperChange) {
    const idx = e.detail.current
    const { cardList } = this.data
    const obj: Card = cardList.find((_: Card, index: number) => idx === index)
    this.setData({ money: obj.money })
  },
  // 点击菜单
  handleMenuTap(e: WechatMiniprogram.CustomEvent) {
    const { text } = e.currentTarget.dataset
    const routerMap: { [key: string]: string } = {
      添加卡包: '../add/index',
      预算管理: '../budget/index'
    }
    const url = routerMap[text as keyof typeof routerMap]
    wx.navigateTo({ url })
  },
  // 获取卡的消费记录
  getCardRecord(id: number) {
    getCardRecord(id).then((res) => {
      this.setData({ payList: res.data })
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() { },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getCardList()
   },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() { },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() { },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() { },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() { },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() { }
})
